Added CI workflow / Fixed IsDirCheck and ExistCheck methods #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added the CI run for all OS, and it already discovered two bugs.
1. ExistCheck() sometimes returns an error when it should not
Looking at how
ExistCheck
is defined:It happens that on UNIX if a file already exist, say
path/to/file
, and you try toStat
usingfile
as a directory:then
Stat
returns an error that is NOT anos.ErrNotExist
. In this particular case the error is aos.PathError
withErr
field set toENOTDIR
. We now explicitly check for this particular case and the test case has been updated accordingly.After updating the test case, it passes also on Windows.
2. IsDirCheck() sometimes do return errors when it should
Looking at how
IsDirCheck
is defined:in other words:
true, nil
false, nil
false, err
This wasn't happening on UNIX (we had the same problem as 1. but with the opposite outcome).
Again after fixing this bug and updating the unit test it pass also on Windows.